package com.zhangmeng.tools.music.kugou;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * @author : 芊芊墨客
 * @version : 1.0
 * @date : 2023-04-22 17:33
 */
@Data
public class KuGouMusic {

    @Data
    public static class Aggregation {
    }

    @Data
    public static class Classmap {
        public Integer attr0;
    }
    @Data
    public static class Classmap__1 {
        public Integer attr0;
    }
    @Data
    public class ResData {

        public String correctiontip;
        public Integer pagesize;
        public Integer page;
        public Integer correctiontype;
        public Integer total;
        public java.util.List<ResList> lists = new ArrayList<>();
        public SecAggre secAggre;
        public Aggregation aggregation;
        public Integer size;
        public Integer searchfull;
        public Integer chinesecount;
        public Integer istagresult;
        public Integer allowerr;
        public java.util.List<Object> secAggreV2 = new ArrayList<>();
        public Integer correctionforce;
        public Integer istag;
        public Integer from;
        public SectagInfo sectagInfo;
        public Integer subjecttype;
        public Integer isshareresult;
        public String correctionsubject;

    }

    @Data
    public static class Grp {
        public String sQFileHash;
        public String publishTime;
        public Integer audioid;
        public Integer superDuration;
        public Integer oldCpy;
        public Integer publishAge;
        public Integer hQBitrate;
        public Integer payType;
        public String tagContent;
        public Integer accompany;
        public String singerName;
        public Integer hQPrivilege;
        public String topicRemark;
        public String oriOtherName;
        public String source;
        public Integer resDuration;
        public Integer sQFileSize;
        public String albumAux;
        public Integer hQDuration;
        public Integer failProcess;
        public Integer hQPayType;
        public Integer m4aSize;
        public Integer sQPkgPrice;
        public String uploaderContent;
        public String sQExtName;
        public Integer isOriginal;
        public String fileHash;
        public Integer mvTrac;
        public String type;
        public Integer bitrate;
        public Integer sQPrice;
        public String extName;
        public Integer category;
        public String superExtName;
        public TransParam__1 transParam;
        public String otherName;
        public String songName;
        public Integer aSQPrivilege;
        public Integer audioCdn;
        public Integer sourceID;
        public Integer sQDuration;
        public Integer hQFileSize;
        public Integer pkgPrice;
        public Integer sQPayType;
        public Integer albumPrivilege;
        public String albumID;
        public Integer hQPrice;
        public String suffix;
        public Integer hQFailProcess;
        public String albumName;
        public List<Mvdatum> mvdata = new ArrayList<>();
        public String vvid;
        public Integer hiFiQuality;
        public String mixSongID;
        public List<Integer> singerId = new ArrayList<>();
        public Integer superBitrate;
        public String hQExtName;
        public String resFileHash;
        public Integer matchFlag;
        public Integer scid;
        public String superFileHash;
        public Integer qualityLevel;
        public String oriSongName;
        public Integer resBitrate;
        public List<Singer> singers = new ArrayList<>();
        public Integer superFileSize;
        public String songLabel;
        public Integer hasAlbum;
        public Integer sQBitrate;
        public Integer mvType;
        public Integer mvTotal;
        public String mvHash;
        public String hQFileHash;
        public String topicUrl;
        public Integer recommendType;
        public String auxiliary;
        public Integer privilege;
        public Integer fileSize;
        public Integer duration;
        public Integer ownerCount;
        public String uploader;
        public Integer sQFailProcess;
        public String id;
        public Integer topID;
        public Integer hQPkgPrice;
        public Integer a320Privilege;
        public String fileName;
        public Integer resFileSize;
        public Integer sQPrivilege;
        public Integer price;
        public Integer publish;

    }

    @Data
    public static class ResList {

        public String sQFileHash;
        public String publishTime;
        public Integer audioid;
        public Integer superDuration;
        public Integer oldCpy;
        public Integer publishAge;
        public Integer hQBitrate;
        public Integer payType;
        public String tagContent;
        public Integer accompany;
        public String singerName;
        public Integer foldType;
        public Integer hQPrivilege;
        public String topicRemark;
        public String oriOtherName;
        public String source;
        public Integer resDuration;
        public Integer sQFileSize;
        public String albumAux;
        public Integer hQDuration;
        public Integer failProcess;
        public Integer hQPayType;
        public Integer m4aSize;
        public Integer sQPkgPrice;
        public String uploaderContent;
        public String sQExtName;
        public Integer isOriginal;
        public String fileHash;
        public Integer mvTrac;
        public String type;
        public Integer bitrate;
        public Integer sQPrice;
        public String extName;
        public TransParam transParam;
        public Integer category;
        public String superExtName;
        public String otherName;
        public String songName;
        public Integer aSQPrivilege;
        public Integer audioCdn;
        public Integer sourceID;
        public Integer sQDuration;
        public Integer hQFileSize;
        public java.util.List<Grp> grp = new ArrayList<>();
        public Integer pkgPrice;
        public Integer sQPayType;
        public Integer albumPrivilege;
        public String albumID;
        public Integer hQPrice;
        public String suffix;
        public Integer hQFailProcess;
        public String albumName;
        public java.util.List<Mvdatum__1> mvdata = new ArrayList<>();
        public String vvid;
        public Integer hiFiQuality;
        public String mixSongID;
        public java.util.List<Integer> singerId = new ArrayList<>();
        public Integer superBitrate;
        public String hQExtName;
        public String resFileHash;
        public Integer matchFlag;
        public Integer scid;
        public String superFileHash;
        public Integer qualityLevel;
        public String oriSongName;
        public Integer resBitrate;
        public java.util.List<Singer__1> singers = new ArrayList<>();
        public Integer superFileSize;
        public String songLabel;
        public Integer hasAlbum;
        public Integer sQBitrate;
        public Integer mvType;
        public Integer mvTotal;
        public String mvHash;
        public String hQFileHash;
        public String topicUrl;
        public Integer recommendType;
        public String auxiliary;
        public Integer privilege;
        public Integer fileSize;
        public Integer duration;
        public Integer ownerCount;
        public String uploader;
        public Integer sQFailProcess;
        public String id;
        public Integer topID;
        public Integer hQPkgPrice;
        public Integer a320Privilege;
        public String fileName;
        public Integer resFileSize;
        public Integer sQPrivilege;
        public Integer price;
        public Integer publish;

    }

    @Data
    public static class Mvdatum {

        public String id;
        public String trk;
        public String hash;
        public Integer typ;

    }

    @Data
    public static class Mvdatum__1 {

        public String id;
        public String trk;
        public String hash;
        public Integer typ;

    }

    @Data
    public static class Qualitymap {

        public Integer attr0;

    }

    @Data
    public static class Qualitymap__1 {

        public Integer attr0;

    }

    @Data
    public static class SecAggre {

    }

    @Data
    public static class SectagInfo {

        public Integer isSectag;

    }

    @Data
    public static class Singer {

        public String name;
        public Integer ipId;
        public Integer id;

    }

    @Data
    public static class Singer__1 {

        public String name;
        public Integer ipId;
        public Integer id;

    }

    @Data
    public static class TransParam {

        public Integer payBlockTpl;
        public Classmap classmap;
        public Integer cid;
        public Integer cpyAttr0;
        public String hashMultitrack;
        public Qualitymap qualitymap;
        public Integer musicpackAdvance;
        public Integer display;
        public Integer displayRate;

    }

    @Data
    public static class TransParam__1 {

        public Integer payBlockTpl;
        public Classmap__1 classmap;
        public Integer cid;
        public Integer cpyAttr0;
        public String hashMultitrack;
        public Qualitymap__1 qualitymap;
        public Integer musicpackAdvance;
        public Integer display;
        public Integer displayRate;

    }

    public String errorMsg;
    public ResData data;
    public Integer status;
    public Integer errorCode;
}
